HANDS ON Remote Access File Transfers Page 1 This Product is Shareware, if you continue to use it Please Register to legalise your usage _______ ____|__ | (R) --| | |------------------- | ____|__ | Association of | | |_| Shareware |__| o | Professionals -----| | |--------------------- |___|___| Member Table of Contents page # 1.0 Introduction 2.0 Installation 2.1 Trigger Strings 3.0 Normal Operation 4.0 Sample File Transfer Sequences 4.1 Backups and similar file transfers 4.2 File encryption 5.0 SUPPORT and the ASP 6.0 Warranty 7.0 Acknowledgments 1.0 Introduction The Hands On remote access software package uses the OMNI modem manager and file transfer package (OMI.EXE and family) because its very fast and can link many kinds of computers. You will notice that OMI is used interchangeably as an abbreviation of OMNI. OMNI will allow you to transfer files between your PC and any system that can run omiget and omiput. The source code for omiput and omiget is available to registered users for porting them to other systems (We assume a UNIX bias). In addition to being relatively efficient (about as fast as Zmodem and hydracom), the file transfers can HANDS ON Remote Access File Transfers Page 2 take place in the background while you use your DOS PC for other tasks. The background file transfers will be a lifesaver for some people. This version of OMNI can be used with the TELEMENU for its editor and to make local and remote file management much easier. OMNI can be installed to automate dialing and log-in sequences, saving time and frustration at the start of each session. Check the WIZARD.txt for information on how to completely automate entire sessions. OMNI uses its own terminal emulation, which is very efficient. Omi220 basically emulates a VT220 (or VT100) terminal. OMNI will allow you to connect an IBM PC to a mini-computer either directly or via a modem and telephone line. The OMNI package allows you to transparently swap in Omen Technology's DSZ file transfer package, which handles bad phone lines very well. Although, its likely that if the phone lines get too noisy you will find HANDS ON too frustrating to use for remote access because it spends too much time correcting and re-sending screen updates to replace previous damaged ones. Of course, DSZ defines compatibility and has a range of nifty file transfer features. Portions of the Hands On distribution actually alter other .exes in the distribution. This sharply reduces RAM memory usage and .EXE file size while increasing speed, but you may find virus checkers that go bonkers. Also, if you pklite or diet the .EXE's to make them smaller, you will be destroying vital configuration information in the individual .EXE. The HO.txt has sample scenarios or session setups as follows: APPENDIX A - Configuration Scenarios A1 Consultant/Client via Modem A2 Remote/Shared via Modem A3 Laptop/Desktop via Direct Cable A4 Remote/Shared via Common Mini-computer A5 Home/Office via Modem 2.0 Installation The installation and configuration process actually modifies several files including: OMIGET.EXE, OMIPUT.EXE, HOTALK.EXE, HANDS ON Remote Access File Transfers Page 3 HODIAL.EXE, HOEXTR.EXE, HOEXTS.EXE and HOMODSET.EXE. The package is installed by editing a configuration file. For you more technical people, a typical configuration file might appear as follows: OMI Configuration File Note: Do NOT change the order of these parameters, or delete any lines! "COM1" Communications port ("COM2" or base/interrupt) 9600 Baud rate (typically 2400 or 9600) 8 Data bits (7 or 8) 1 Stop bits (1 or 2) "NONE" Parity (NONE, EVEN, ODD, MARK or SPACE) "COMSPEC" DOS Command Interpreter (usually "COMSPEC") 07 Attribute for normal text 70 Attribute for marked block text (reverse) 0F Attribute for highlighted text (high intensity) F0 Attribute for column number when log file is open "omiput %s\r" Start of remote command to send (download) files "omiget\r" Remote command to receive (upload) files 440 Frequency of "bell" tone (Hz) 100 Duration of "bell" tone (ms) 256 Block size for file upload (1-256) 4 Number of block buffers for upload (1-8) "YES" Send "break" in response to framing error? (YES/NO) 350 Length of "break" (ms) 10000 Time to wait before giving up transfer (ms) 3000 Time to wait for first char before timeout (ms) 1000 Time to wait for subsequent chars in block (ms) 300 Send every seconds (0 means none) "\0x00" Char to send () every seconds "[OMI] %s" DOS shell prompt format string "\r" Connect command for modem "" Disconnect command for modem The OMIPUT and OMIGET programs are often used from other directories, so its useful to edit the setup to include their directory as in: "C:\HO\OMIPUT %s\r". 2.1 Trigger Strings Each of the remaining lines must contain 3 strings and a number. The first string is the trigger string to search for. The second string is the response to be sent after finding the trigger. The third string is the response to be sent after timeout. The number is the time to wait before timeout (in ms). HANDS ON Remote Access File Transfers Page 4 "DISCONNECTED" "\D250\r" "\r" 5000 "Enter RESOURCE ? " "\D200G9000\r" "\r" 5000 "CONNECTED TO" "" "" 5000 "\rlogin: " "\D200whoami\r" "\B\r" 2000 "\nlogin: " "\D200whoami\r" "\B\r" 2000 "Password:" "\D200secret\r" "\r" 10000 "Selection: " "\D100d\r" "" 40000 "/users/" "" "" 40000 - The serial port should be chosen to suit your own PC. Only the standard COM1 and COM2 ports are supported by name; if you want to use COM3, COM4 or non-standard interrupts, then you must specify the I/O port base address and interrupt number (e.g. COM1 is 03F8/0C). It doesn't hurt to look at the back of the machine to see what is attached to which port. - The baud rate should be chosen to match your modem or direct connection. - Most computers now expect 8 data bits, so this line should never need to be changed. - Most computers only require 1 stop bit, so this line should never need to be changed. - Most computers no longer use parity, so this line should never need to be changed. - This is the path name of your DOS command interpreter (for example, C:/DOS/COMMAND.COM - note / not \). However, if you have an environment variable called "COMSPEC", then it is better to use this instead (as in the sample file above). The best thing is to try shelling out to DOS using COMSPEC, and if this does not work then try using an explicit path. - The next four lines determine the video attributes that OMNI will use for various purposes. The first hexadecimal digit determines the background color, and the second digit determines the foreground color. If you do not like the default colors, then you can play around with these to get the effect you desire. - The example above shows the correct commands to download and upload files on a UNIX system that has omiget and omiput installed in one of the default directories. - You can change the frequency and duration of the "bell" that HANDS ON Remote Access File Transfers Page 5 OMNI sounds to get your attention. The settings in the sample above should be acceptable to most people. - The maximum possible block size for file upload is limited by the size of the input buffer on the host computer. 256 will give best performance if the input buffer is big enough. If errors occur frequently, then experiment with a smaller value (see the following paragraph also). - The maximum number of blocks that can be sent during upload without acknowledgement also depends on the size of the host computer's input buffer. If the input buffer is big enough, then 8 blocks will work well. If the input buffer is very small, you may need to cut this down to 1 and even cut down the size of that 1 (see the previous paragraph). - When logging in at speeds other than the default, many computers have a bit of trouble working out what speed you are using. For example, you may be sending at 14400 baud, and the host may be responding at 9600 baud! In this situation it is often necessary for you to send what is known as a "break" to get the computer's attention. OMNI can be installed to do this automatically for you. - 350 ms seems to work well with most computers. If the break is too long then you may get disconnected. If the break is too short, then it may not be noticed... - After starting a file transfer, OMNI waits for some acknowledgement that the host computer is ready to begin the transfer. If this acknowledgement does not appear, then eventually OMNI must give up. - During file transfer, OMNI sends and receives "blocks" of characters. When OMNI is waiting for a block to be received, it will only wait a limited time before sending a "wakeup" message to the host computer. You can choose how impatient you want OMNI to be! - Once the first character in a block has been received, the remainder of the block will normally follow at full speed. Therefore, a much shorter gap in the middle of a block probably means problems. - Some "intelligent" pads will log you out if you type nothing for a few minutes. OMNI can automatically send a character every few minutes if you have not typed anything. The "NULL" character "\0x00" is usually quite harmless, and once every 5 HANDS ON Remote Access File Transfers Page 6 minutes is frequent enough for most purposes. - If you shell out of OMNI to do something at the DOS level, the prompt will be modified to remind you what is going on. - When OMNI first starts running, it will transmit the connect command for the modem. This may be a dialing command if you will always be connecting via modem. - When OMNI finishes running, it will transmit the disconnect command to the modem. If your modem automatically hangs up when the DTR signal is removed (or you have a direct line), then you do not need anything here. However, if your modem ignores DTR, then you may need to send a command to make your modem hang up the 'phone. - You may have noticed in the sample above special characters like "\r", \0x00 and "\D333". These are used to get characters or effects that cannot be entered as part of the normal string. "\r" is the carriage return character. "\n" is the line feed character. Any character can be coded by entering its ASCII value in hexadecimal (for example, the carriage return character (hex 0D) could be entered as "\0x0D"). Delays (from 1/18th of a second to 255/18ths of a second, but specified in milliseconds) can be entered with special characters of the form "\D500." (half a second). The "." at the end of the number is ignored, and is only really needed if a numeric digit needs to follow a delay. "\B" causes OMNI to send a BREAK. - When OMNI starts running, after sending the modem connect command, it then starts looking for any of the trigger strings. If it finds one, it transmits the associated response string, and marks the next line as the current trigger string (if the final trigger string is detected, then OMNI ceases checking for trigger strings). If OMNI receives nothing for longer than the timeout specified for the current trigger string, then OMNI will send the timeout response string for the current trigger string. 3.0 Normal Operation Once OMNI (abbreviated OMI) has been correctly installed, you should be able to enter a command such as: OMI UNIX (use configuration file UNIX.OMI) and you will then be fully logged in without having to type anything! HANDS ON Remote Access File Transfers Page 7 Any normal key you type will be transmitted to the host computer, and anything the host computer sends to you will be displayed on your screen. OMI can thus be used exactly like a normal terminal. However, OMNI has some extra capabilities not usually found on terminals: Key OMI Action === ========== display on-line help set normal attribute and clear input buffer use this if your screen is left with odd colors, or if you want to stop the automatic login sequence for any reason restart automatic login sequence toggle column number display pause display (works better than ) resume display (instead of ) use these to stop text scrolling off your screen before you can read it toggle LOG file (column number flashes if LOG file is active) a log file records everything except "escape" sequences that is displayed on your screen, so that you can look at it later send DEL character (UNIX interrupt) probably only useful on the UNIX system, to stop the current process without producing a "core dump" send break to host computer this is the usual way to abort a running program on a HP3000 exit OMI (or Alt-X) you will be given the option to shell out to DOS (so that you can return to OMI later) or to exit OMI completely and disconnect the call redisplay recent text that has scrolled off the screen this will allow you to scan back through about the last four or five screens of text that have scrolled off your screen - handy if something important just disappeared off the top! However, if you are interested in going a long way back then it is better to start a log file HANDS ON Remote Access File Transfers Page 8 upload file using OMNI protocol use this to transfer files from your PC to the host computer. You can transfer either text files or binary files. You can specify multiple files (for example, "*.DBF *.DAT" will transfer all the files in the current directory that end with .DBF or .DAT). If the files you wish to transfer are not in the current directory, then you can use to shell out to DOS, change directory, and then exit back to OMI. download file using OMNI protocol Use this to transfer files from the host computer to your PC. You can use the usual multiple file naming conventions of the host computer when specifying files to download While a file transfer is taking place, a number will appear in the top right corner of the screen. This is the total number of bytes remaining before the file transfer is completed. The display will also show the most recent error message, and an indication of the efficiency of the transfer (relative to the theoretical maximum possible efficiency). While a file transfer is taking place, you can also shell out of OMI to use your computer for other purposes while the file transfer takes place in the background. The number of bytes remaining will still be displayed in the top right corner of the screen, so that you have some idea how the transfer is going. Please note that you can set your modem to automatically hangup if it senses an inactive line for a given time. You can also accidentally create such a setup. See your modem's manual for more information. 4.0 Sample File Transfer Sequence The following is a step-by-step set of instructions for transferring all the .DBF source files from SALES to a sub-directory called PCSALES on the HP9000 (assuming that OMNI is correctly installed): 1) Make SALES the current directory, as in: cd SALES 2) Run OMI, as in: omi unix You should now automatically be completely logged in. 3) Make the pcsales sub-directory the current working directory at the host end: cd pcsales HANDS ON Remote Access File Transfers Page 9 4) Bring up the OMI file upload menu: (hold down the Control key, then type the PgUp key) 5) Select text file transfer: 1 6) Enter the names of the files to be transferred: *.DBF for all the files that end in .DBF All the files will now be transferred! Read the WIZARD.txt for information on the Wizard and the Wizard Feeder for ways to automate file transfers. 4.1 Backups and similar file transfers Many people backup using tools like PCtools then transfer the resulting files. Others backup using the scheme shown above. Registered users can ask for the BK backup tool that adds smart backup capability to PKZIP, and can optionally use the file encryption portions of PKZIP. You might also consider the QuickFix System, which allows you to transfer file changes instead of complete files. You only transfer a file describing the file changes with a tool that can update the changes on the original file. 4.2 File encryption Hands On and Omni allow you to choose various methods to encrypt files. PKZIP, mentioned just above has an encryption option for North American users. The combination of encrypting and archiving in one tool is very attractive. Most people can use their modem and communications software to access a Bulletin Board System (BBS) and download a copy of the Pretty Good Privacy software (PGP). PGP does an excellent job. This software package may include a tool called CRYPT.EXE, or possibly TSCRYPT.EXE, that provides file encryption/decryption capability. 5.0 SUPPORT and the ASP HANDS ON Remote Access File Transfers Page 10 Please consider reporting the circumstances, preferably in written form, to technical support when you discover problems with the software. For technical support, either call (604) 433-5189, or write to Suite 606 - 6455 Willingdon Avenue, Burnaby, British Columbia, Canada, V5H 4E4. Both registered and soon to be registered users currently get the same support without any arbitrary time limit. You may also try leaving a Compuserve message at 75020, 2664, but be aware that messages rapidly 'scroll off' Compuserve. The best electronic message area (also available from Compuserve) is via the internet at: INTERNET:vic_williams@mindlink.bc.ca. P. C. Softsmith Suite 606 6455 Willingdon Ave Burnaby, B. C., Canada V5H 4E4 (Hey, using internet mail is easy. Try it!) portions of this document are: Copyright (C)1994-5 P. C. Softsmith All Rights Reserved ASP Introduction: Please also carefully read the accompanying SHR_WARE.txt document. "This program is produced by a member of the Association of Shareware Professionals (ASP). ASP wants to make sure that the shareware principle works for you. If you are unable to resolve a shareware-related problem with an ASP member by contacting the member directly, ASP may be able to help. The ASP Ombudsman can help you resolve a dispute or problem with an ASP member, but does not provide technical support for members' products. Please write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442 or send a CompuServe message via CompuServe Mail to ASP Ombudsman 70007,3536." 6.0 Warranty THE DOCUMENTATION AND ASSOCIATED SOFTWARE ARE DISTRIBUTED AND SOLD WITH NO WARRANTIES, EITHER EXPRESS OR IMPLIED, REGARDING ITS MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. HANDS ON Remote Access File Transfers Page 11 THE INFORMATION IN THIS DOCUMENTATION IS SUBJECT TO CHANGE WITHOUT NOTICE AND DOES NOT REPRESENT A COMMITTMENT ON THE PART OF THE VENDOR. OTHER PRODUCT AND BRAND NAMES MENTIONED ARE TRADEMARKS OR REGISTERED TRADEMARKS OF THEIR RESPECTIVE HOLDERS. FOR INFORMATION ONLY, PORTIONS OF THIS DOCUMENT AND THE SOFTWARE ARE LICENSED COPYRIGHT MATERIAL COURTESY DOUGLAS THOMSON 7.0 Acknowledgments This product has been developed from TeleReplica with the co-operation of the author, and a proportion of each registration is being forwarded to Douglas Thomson.